// 导入 http 模块
import http from 'wechat-http'
/**
 * 配置接口基础路径
 */
const baseURL = 'https://live-api.itheima.net'
http.baseURL = baseURL
/**
 * 配置请求拦截器
 */
http.intercept.request = (params) => {
  // == 统一给请求头添加token ==
  const { token } = getApp()
  if (token) {
    params.header = {
      Authorization: token
    }
  }
  // 返回请求的参数
  return params
}

/**
 * 配置响应拦截器
 */
http.intercept.response = ({ data, statusCode }) => {
  // 通过相应拦截器进行接口错误的统一判断，返回一个promise的错误对象
  if (data.code !== 1e4) {
    wx.utils.toast(data.message, 'error')
    // 处理token失效
    if (statusCode === 401) {
      // 读取当前历史栈
      const pageStack = getCurrentPages()
      // 取出当前页面路径，登录成功能跳转到该页面
      const currentPage = pageStack[pageStack.length - 1]
      // 取出当前页面路径，登录成功能跳转到该页面
      const redirectURL = currentPage.route

      // 引导用户到登录页面
      wx.redirectTo({
        url: `/pages/login/index?redirectUrl=/${redirectURL}`,
      })
    }

    return Promise.reject(data)
  }
  // 过滤接口返回的数据
  return data
}
/**
 * 挂载方法到全局
 */
wx.http = http
// 挂载基地址，图片上传的时候用
wx.baseURL = baseURL
/**
 * 模块导出
 */
export default http